

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __oledbdep_h__
#define __oledbdep_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif

/* Forward Declarations */ 

#ifndef __IRowsetNextRowset_FWD_DEFINED__
#define __IRowsetNextRowset_FWD_DEFINED__
typedef interface IRowsetNextRowset IRowsetNextRowset;

#endif 	/* __IRowsetNextRowset_FWD_DEFINED__ */


#ifndef __IRowsetNewRowAfter_FWD_DEFINED__
#define __IRowsetNewRowAfter_FWD_DEFINED__
typedef interface IRowsetNewRowAfter IRowsetNewRowAfter;

#endif 	/* __IRowsetNewRowAfter_FWD_DEFINED__ */


#ifndef __IRowsetWithParameters_FWD_DEFINED__
#define __IRowsetWithParameters_FWD_DEFINED__
typedef interface IRowsetWithParameters IRowsetWithParameters;

#endif 	/* __IRowsetWithParameters_FWD_DEFINED__ */


#ifndef __IRowsetAsynch_FWD_DEFINED__
#define __IRowsetAsynch_FWD_DEFINED__
typedef interface IRowsetAsynch IRowsetAsynch;

#endif 	/* __IRowsetAsynch_FWD_DEFINED__ */


#ifndef __IRowsetKeys_FWD_DEFINED__
#define __IRowsetKeys_FWD_DEFINED__
typedef interface IRowsetKeys IRowsetKeys;

#endif 	/* __IRowsetKeys_FWD_DEFINED__ */


#ifndef __IRowsetWatchAll_FWD_DEFINED__
#define __IRowsetWatchAll_FWD_DEFINED__
typedef interface IRowsetWatchAll IRowsetWatchAll;

#endif 	/* __IRowsetWatchAll_FWD_DEFINED__ */


#ifndef __IRowsetWatchNotify_FWD_DEFINED__
#define __IRowsetWatchNotify_FWD_DEFINED__
typedef interface IRowsetWatchNotify IRowsetWatchNotify;

#endif 	/* __IRowsetWatchNotify_FWD_DEFINED__ */


#ifndef __IRowsetWatchRegion_FWD_DEFINED__
#define __IRowsetWatchRegion_FWD_DEFINED__
typedef interface IRowsetWatchRegion IRowsetWatchRegion;

#endif 	/* __IRowsetWatchRegion_FWD_DEFINED__ */


#ifndef __IRowsetCopyRows_FWD_DEFINED__
#define __IRowsetCopyRows_FWD_DEFINED__
typedef interface IRowsetCopyRows IRowsetCopyRows;

#endif 	/* __IRowsetCopyRows_FWD_DEFINED__ */


#ifndef __IReadData_FWD_DEFINED__
#define __IReadData_FWD_DEFINED__
typedef interface IReadData IReadData;

#endif 	/* __IReadData_FWD_DEFINED__ */


#ifndef __ICommandCost_FWD_DEFINED__
#define __ICommandCost_FWD_DEFINED__
typedef interface ICommandCost ICommandCost;

#endif 	/* __ICommandCost_FWD_DEFINED__ */


#ifndef __ICommandValidate_FWD_DEFINED__
#define __ICommandValidate_FWD_DEFINED__
typedef interface ICommandValidate ICommandValidate;

#endif 	/* __ICommandValidate_FWD_DEFINED__ */


#ifndef __ITableRename_FWD_DEFINED__
#define __ITableRename_FWD_DEFINED__
typedef interface ITableRename ITableRename;

#endif 	/* __ITableRename_FWD_DEFINED__ */


#ifndef __IDBSchemaCommand_FWD_DEFINED__
#define __IDBSchemaCommand_FWD_DEFINED__
typedef interface IDBSchemaCommand IDBSchemaCommand;

#endif 	/* __IDBSchemaCommand_FWD_DEFINED__ */


#ifndef __IProvideMoniker_FWD_DEFINED__
#define __IProvideMoniker_FWD_DEFINED__
typedef interface IProvideMoniker IProvideMoniker;

#endif 	/* __IProvideMoniker_FWD_DEFINED__ */


/* header files for imported files */
#include "oledb.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_oledbdep_0000_0000 */
/* [local] */ 

//-----------------------------------------------------------------------------
// File:				.C or .H file generated by oledbdep.idl 
//
// Copyright:		Copyright (c) 1998-1999 Microsoft Corporation
//
// Contents: 		.C or .H file generated by oledbdep.idl
//
// Comments: 		Microsoft OLE DB
//
//-----------------------------------------------------------------------------

#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if defined(_WIN64) || defined(_ARM_)
#include <pshpack8.h>	// 8-byte structure packing
#else
#include <pshpack2.h>	// 2-byte structure packing
#endif

#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0000_v0_0_s_ifspec;

#ifndef __DBStructureDefinitionsDep_INTERFACE_DEFINED__
#define __DBStructureDefinitionsDep_INTERFACE_DEFINED__

/* interface DBStructureDefinitionsDep */
/* [unique][uuid] */ 

#ifndef UNALIGNED
#if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
#define UNALIGNED __unaligned
#else
#define UNALIGNED
#endif
#endif //UNALIGNED
#undef OLEDBDECLSPEC
#if _MSC_VER >= 1100
#define OLEDBDECLSPEC __declspec(selectany)
#else
#define OLEDBDECLSPEC 
#endif //_MSC_VER
#ifdef DBINITCONSTANTS
extern const OLEDBDECLSPEC GUID DB_PROPERTY_CHECK_OPTION               = {0xc8b5220b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED  = {0xc8b521f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_DROP_CASCADE               = {0xc8b521f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_UNIQUE                     = {0xc8b521f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS    = {0xc8b52230,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_PRIMARY                    = {0xc8b521fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_CLUSTERED                  = {0xc8b521ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_NONCLUSTERED               = {0xc8b52200,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_BTREE                      = {0xc8b52201,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_HASH                       = {0xc8b52202,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_FILLFACTOR                 = {0xc8b52203,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_INITIALSIZE                = {0xc8b52204,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_DISALLOWNULL               = {0xc8b52205,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNORENULL                 = {0xc8b52206,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_IGNOREANYNULL              = {0xc8b52207,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_SORTBOOKMARKS              = {0xc8b52208,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_AUTOMATICUPDATE            = {0xc8b52209,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
extern const OLEDBDECLSPEC GUID DB_PROPERTY_EXPLICITUPDATE             = {0xc8b5220a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
#else // !DBINITCONSTANTS
extern const GUID DB_PROPERTY_CHECK_OPTION;
extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED;
extern const GUID DB_PROPERTY_DROP_CASCADE;
extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS;
extern const GUID DB_PROPERTY_UNIQUE;
extern const GUID DB_PROPERTY_PRIMARY;
extern const GUID DB_PROPERTY_CLUSTERED;
extern const GUID DB_PROPERTY_NONCLUSTERED;
extern const GUID DB_PROPERTY_BTREE;
extern const GUID DB_PROPERTY_HASH;
extern const GUID DB_PROPERTY_FILLFACTOR;
extern const GUID DB_PROPERTY_INITIALSIZE;
extern const GUID DB_PROPERTY_DISALLOWNULL;
extern const GUID DB_PROPERTY_IGNORENULL;
extern const GUID DB_PROPERTY_IGNOREANYNULL;
extern const GUID DB_PROPERTY_SORTBOOKMARKS;
extern const GUID DB_PROPERTY_AUTOMATICUPDATE;
extern const GUID DB_PROPERTY_EXPLICITUPDATE;
#endif // DBINITCONSTANTS

enum DBPROPENUM25_DEPRECATED
    {
        DBPROP_ICommandCost	= 0x8dL,
        DBPROP_ICommandTree	= 0x8eL,
        DBPROP_ICommandValidate	= 0x8fL,
        DBPROP_IDBSchemaCommand	= 0x90L,
        DBPROP_IProvideMoniker	= 0x7dL,
        DBPROP_IQuery	= 0x92L,
        DBPROP_IReadData	= 0x93L,
        DBPROP_IRowsetAsynch	= 0x94L,
        DBPROP_IRowsetCopyRows	= 0x95L,
        DBPROP_IRowsetKeys	= 0x97L,
        DBPROP_IRowsetNewRowAfter	= 0x98L,
        DBPROP_IRowsetNextRowset	= 0x99L,
        DBPROP_IRowsetWatchAll	= 0x9bL,
        DBPROP_IRowsetWatchNotify	= 0x9cL,
        DBPROP_IRowsetWatchRegion	= 0x9dL,
        DBPROP_IRowsetWithParameters	= 0x9eL
    } ;

enum DBREASONENUM25
    {
        DBREASON_ROWSET_ROWSADDED	= ( DBREASON_ROW_ASYNCHINSERT + 1 ) ,
        DBREASON_ROWSET_POPULATIONCOMPLETE	= ( DBREASON_ROWSET_ROWSADDED + 1 ) ,
        DBREASON_ROWSET_POPULATIONSTOPPED	= ( DBREASON_ROWSET_POPULATIONCOMPLETE + 1 ) 
    } ;


extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_c_ifspec;
extern RPC_IF_HANDLE DBStructureDefinitionsDep_v0_0_s_ifspec;
#endif /* __DBStructureDefinitionsDep_INTERFACE_DEFINED__ */

/* interface __MIDL_itf_oledbdep_0000_0001 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#pragma warning(push)
#pragma warning(disable:4001) 
#pragma once
#pragma warning(push)
#pragma warning(disable:4001) 
#pragma once
#pragma warning(pop)
#pragma warning(pop)
#pragma region Desktop Family
#pragma endregion


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0001_v0_0_s_ifspec;

#ifndef __IRowsetNextRowset_INTERFACE_DEFINED__
#define __IRowsetNextRowset_INTERFACE_DEFINED__

/* interface IRowsetNextRowset */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetNextRowset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a72-2a1c-11ce-ade5-00aa0044773d")
    IRowsetNextRowset : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNextRowset( 
            /* [annotation][in] */ 
            _In_  IUnknown *pUnkOuter,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  IUnknown **ppNextRowset) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetNextRowsetVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetNextRowset * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetNextRowset * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetNextRowset * This);
        
        DECLSPEC_XFGVIRT(IRowsetNextRowset, GetNextRowset)
        HRESULT ( STDMETHODCALLTYPE *GetNextRowset )( 
            IRowsetNextRowset * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pUnkOuter,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  IUnknown **ppNextRowset);
        
        END_INTERFACE
    } IRowsetNextRowsetVtbl;

    interface IRowsetNextRowset
    {
        CONST_VTBL struct IRowsetNextRowsetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetNextRowset_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetNextRowset_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetNextRowset_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetNextRowset_GetNextRowset(This,pUnkOuter,riid,ppNextRowset)	\
    ( (This)->lpVtbl -> GetNextRowset(This,pUnkOuter,riid,ppNextRowset) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetNextRowset_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0002 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0002_v0_0_s_ifspec;

#ifndef __IRowsetNewRowAfter_INTERFACE_DEFINED__
#define __IRowsetNewRowAfter_INTERFACE_DEFINED__

/* interface IRowsetNewRowAfter */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetNewRowAfter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a71-2a1c-11ce-ade5-00aa0044773d")
    IRowsetNewRowAfter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetNewDataAfter( 
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  ULONG cbbmPrevious,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbbmPrevious)  const BYTE *pbmPrevious,
            /* [annotation][in] */ 
            _In_  HACCESSOR hAccessor,
            /* [annotation][in] */ 
            _In_  BYTE *pData,
            /* [annotation][out] */ 
            _Out_  HROW *phRow) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetNewRowAfterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetNewRowAfter * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetNewRowAfter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetNewRowAfter * This);
        
        DECLSPEC_XFGVIRT(IRowsetNewRowAfter, SetNewDataAfter)
        HRESULT ( STDMETHODCALLTYPE *SetNewDataAfter )( 
            IRowsetNewRowAfter * This,
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  ULONG cbbmPrevious,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbbmPrevious)  const BYTE *pbmPrevious,
            /* [annotation][in] */ 
            _In_  HACCESSOR hAccessor,
            /* [annotation][in] */ 
            _In_  BYTE *pData,
            /* [annotation][out] */ 
            _Out_  HROW *phRow);
        
        END_INTERFACE
    } IRowsetNewRowAfterVtbl;

    interface IRowsetNewRowAfter
    {
        CONST_VTBL struct IRowsetNewRowAfterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetNewRowAfter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetNewRowAfter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetNewRowAfter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetNewRowAfter_SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow)	\
    ( (This)->lpVtbl -> SetNewDataAfter(This,hChapter,cbbmPrevious,pbmPrevious,hAccessor,pData,phRow) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetNewRowAfter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0003 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0003_v0_0_s_ifspec;

#ifndef __IRowsetWithParameters_INTERFACE_DEFINED__
#define __IRowsetWithParameters_INTERFACE_DEFINED__

/* interface IRowsetWithParameters */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetWithParameters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a6e-2a1c-11ce-ade5-00aa0044773d")
    IRowsetWithParameters : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetParameterInfo( 
            /* [annotation][out][in] */ 
            _Inout_  DB_UPARAMS *pcParams,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcParams)  DBPARAMINFO **prgParamInfo,
            /* [annotation][out] */ 
            _Out_  OLECHAR **ppNamesBuffer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Requery( 
            /* [annotation][in] */ 
            _In_  DBPARAMS *pParams,
            /* [annotation][out] */ 
            _Out_  ULONG *pulErrorParam,
            /* [annotation][out] */ 
            _Out_  HCHAPTER *phReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetWithParametersVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetWithParameters * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetWithParameters * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetWithParameters * This);
        
        DECLSPEC_XFGVIRT(IRowsetWithParameters, GetParameterInfo)
        HRESULT ( STDMETHODCALLTYPE *GetParameterInfo )( 
            IRowsetWithParameters * This,
            /* [annotation][out][in] */ 
            _Inout_  DB_UPARAMS *pcParams,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcParams)  DBPARAMINFO **prgParamInfo,
            /* [annotation][out] */ 
            _Out_  OLECHAR **ppNamesBuffer);
        
        DECLSPEC_XFGVIRT(IRowsetWithParameters, Requery)
        HRESULT ( STDMETHODCALLTYPE *Requery )( 
            IRowsetWithParameters * This,
            /* [annotation][in] */ 
            _In_  DBPARAMS *pParams,
            /* [annotation][out] */ 
            _Out_  ULONG *pulErrorParam,
            /* [annotation][out] */ 
            _Out_  HCHAPTER *phReserved);
        
        END_INTERFACE
    } IRowsetWithParametersVtbl;

    interface IRowsetWithParameters
    {
        CONST_VTBL struct IRowsetWithParametersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetWithParameters_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetWithParameters_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetWithParameters_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetWithParameters_GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer)	\
    ( (This)->lpVtbl -> GetParameterInfo(This,pcParams,prgParamInfo,ppNamesBuffer) ) 

#define IRowsetWithParameters_Requery(This,pParams,pulErrorParam,phReserved)	\
    ( (This)->lpVtbl -> Requery(This,pParams,pulErrorParam,phReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetWithParameters_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0004 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0004_v0_0_s_ifspec;

#ifndef __IRowsetAsynch_INTERFACE_DEFINED__
#define __IRowsetAsynch_INTERFACE_DEFINED__

/* interface IRowsetAsynch */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetAsynch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a0f-2a1c-11ce-ade5-00aa0044773d")
    IRowsetAsynch : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RatioFinished( 
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pulDenominator,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pulNumerator,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRows,
            /* [annotation][out] */ 
            _Out_  BOOL *pfNewRows) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetAsynchVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetAsynch * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetAsynch * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetAsynch * This);
        
        DECLSPEC_XFGVIRT(IRowsetAsynch, RatioFinished)
        HRESULT ( STDMETHODCALLTYPE *RatioFinished )( 
            IRowsetAsynch * This,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pulDenominator,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pulNumerator,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRows,
            /* [annotation][out] */ 
            _Out_  BOOL *pfNewRows);
        
        DECLSPEC_XFGVIRT(IRowsetAsynch, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IRowsetAsynch * This);
        
        END_INTERFACE
    } IRowsetAsynchVtbl;

    interface IRowsetAsynch
    {
        CONST_VTBL struct IRowsetAsynchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetAsynch_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetAsynch_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetAsynch_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetAsynch_RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows)	\
    ( (This)->lpVtbl -> RatioFinished(This,pulDenominator,pulNumerator,pcRows,pfNewRows) ) 

#define IRowsetAsynch_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetAsynch_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0005 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0005_v0_0_s_ifspec;

#ifndef __IRowsetKeys_INTERFACE_DEFINED__
#define __IRowsetKeys_INTERFACE_DEFINED__

/* interface IRowsetKeys */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetKeys;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a12-2a1c-11ce-ade5-00aa0044773d")
    IRowsetKeys : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ListKeys( 
            /* [annotation][out][in] */ 
            _Inout_  DBORDINAL *pcColumns,
            /* [size_is][size_is][out] */ DBORDINAL **prgColumns) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetKeysVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetKeys * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetKeys * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetKeys * This);
        
        DECLSPEC_XFGVIRT(IRowsetKeys, ListKeys)
        HRESULT ( STDMETHODCALLTYPE *ListKeys )( 
            IRowsetKeys * This,
            /* [annotation][out][in] */ 
            _Inout_  DBORDINAL *pcColumns,
            /* [size_is][size_is][out] */ DBORDINAL **prgColumns);
        
        END_INTERFACE
    } IRowsetKeysVtbl;

    interface IRowsetKeys
    {
        CONST_VTBL struct IRowsetKeysVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetKeys_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetKeys_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetKeys_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetKeys_ListKeys(This,pcColumns,prgColumns)	\
    ( (This)->lpVtbl -> ListKeys(This,pcColumns,prgColumns) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetKeys_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0006 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0006_v0_0_s_ifspec;

#ifndef __IRowsetWatchAll_INTERFACE_DEFINED__
#define __IRowsetWatchAll_INTERFACE_DEFINED__

/* interface IRowsetWatchAll */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IRowsetWatchAll;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a73-2a1c-11ce-ade5-00aa0044773d")
    IRowsetWatchAll : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Acknowledge( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StopWatching( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetWatchAllVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetWatchAll * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetWatchAll * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetWatchAll * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, Acknowledge)
        HRESULT ( STDMETHODCALLTYPE *Acknowledge )( 
            IRowsetWatchAll * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, Start)
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            IRowsetWatchAll * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, StopWatching)
        HRESULT ( STDMETHODCALLTYPE *StopWatching )( 
            IRowsetWatchAll * This);
        
        END_INTERFACE
    } IRowsetWatchAllVtbl;

    interface IRowsetWatchAll
    {
        CONST_VTBL struct IRowsetWatchAllVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetWatchAll_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetWatchAll_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetWatchAll_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetWatchAll_Acknowledge(This)	\
    ( (This)->lpVtbl -> Acknowledge(This) ) 

#define IRowsetWatchAll_Start(This)	\
    ( (This)->lpVtbl -> Start(This) ) 

#define IRowsetWatchAll_StopWatching(This)	\
    ( (This)->lpVtbl -> StopWatching(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetWatchAll_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0007 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0007_v0_0_s_ifspec;

#ifndef __IRowsetWatchNotify_INTERFACE_DEFINED__
#define __IRowsetWatchNotify_INTERFACE_DEFINED__

/* interface IRowsetWatchNotify */
/* [unique][uuid][object][local] */ 

typedef DWORD DBWATCHNOTIFY;


enum DBWATCHNOTIFYENUM
    {
        DBWATCHNOTIFY_ROWSCHANGED	= 1,
        DBWATCHNOTIFY_QUERYDONE	= 2,
        DBWATCHNOTIFY_QUERYREEXECUTED	= 3
    } ;

EXTERN_C const IID IID_IRowsetWatchNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a44-2a1c-11ce-ade5-00aa0044773d")
    IRowsetWatchNotify : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnChange( 
            /* [annotation][in] */ 
            _In_  IRowset *pRowset,
            /* [annotation][in] */ 
            _In_  DBWATCHNOTIFY eChangeReason) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetWatchNotifyVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetWatchNotify * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetWatchNotify * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetWatchNotify * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchNotify, OnChange)
        HRESULT ( STDMETHODCALLTYPE *OnChange )( 
            IRowsetWatchNotify * This,
            /* [annotation][in] */ 
            _In_  IRowset *pRowset,
            /* [annotation][in] */ 
            _In_  DBWATCHNOTIFY eChangeReason);
        
        END_INTERFACE
    } IRowsetWatchNotifyVtbl;

    interface IRowsetWatchNotify
    {
        CONST_VTBL struct IRowsetWatchNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetWatchNotify_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetWatchNotify_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetWatchNotify_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetWatchNotify_OnChange(This,pRowset,eChangeReason)	\
    ( (This)->lpVtbl -> OnChange(This,pRowset,eChangeReason) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetWatchNotify_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0008 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0008_v0_0_s_ifspec;

#ifndef __IRowsetWatchRegion_INTERFACE_DEFINED__
#define __IRowsetWatchRegion_INTERFACE_DEFINED__

/* interface IRowsetWatchRegion */
/* [unique][uuid][object][local] */ 

typedef DWORD DBWATCHMODE;


enum DBWATCHMODEENUM
    {
        DBWATCHMODE_ALL	= 0x1,
        DBWATCHMODE_EXTEND	= 0x2,
        DBWATCHMODE_MOVE	= 0x4,
        DBWATCHMODE_COUNT	= 0x8
    } ;
typedef DWORD DBROWCHANGEKIND;


enum DBROWCHANGEKINDENUM
    {
        DBROWCHANGEKIND_INSERT	= 0,
        DBROWCHANGEKIND_DELETE	= ( DBROWCHANGEKIND_INSERT + 1 ) ,
        DBROWCHANGEKIND_UPDATE	= ( DBROWCHANGEKIND_DELETE + 1 ) ,
        DBROWCHANGEKIND_COUNT	= ( DBROWCHANGEKIND_UPDATE + 1 ) 
    } ;
typedef struct tagDBROWWATCHRANGE
    {
    HWATCHREGION hRegion;
    DBROWCHANGEKIND eChangeKind;
    HROW hRow;
    DBCOUNTITEM iRow;
    } 	DBROWWATCHCHANGE;


EXTERN_C const IID IID_IRowsetWatchRegion;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a45-2a1c-11ce-ade5-00aa0044773d")
    IRowsetWatchRegion : public IRowsetWatchAll
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateWatchRegion( 
            /* [annotation][in] */ 
            _In_  DBWATCHMODE dwWatchMode,
            /* [annotation][out] */ 
            _Out_  HWATCHREGION *phRegion) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ChangeWatchMode( 
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][in] */ 
            _In_  DBWATCHMODE dwWatchMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteWatchRegion( 
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetWatchRegionInfo( 
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][out] */ 
            _Out_  DBWATCHMODE *pdwWatchMode,
            /* [annotation][out] */ 
            _Out_  HCHAPTER *phChapter,
            /* [annotation][out][in] */ 
            _Inout_  DBBKMARK *pcbBookmark,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcbBookmark)  BYTE **ppBookmark,
            /* [annotation][out] */ 
            _Out_  DBROWCOUNT *pcRows) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refresh( 
            /* [annotation][out][in] */ 
            _Inout_  DBCOUNTITEM *pcChangesObtained,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcChangesObtained)  DBROWWATCHCHANGE **prgChanges) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ShrinkWatchRegion( 
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  DBBKMARK cbBookmark,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbBookmark)  BYTE *pBookmark,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetWatchRegionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetWatchRegion * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetWatchRegion * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, Acknowledge)
        HRESULT ( STDMETHODCALLTYPE *Acknowledge )( 
            IRowsetWatchRegion * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, Start)
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            IRowsetWatchRegion * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchAll, StopWatching)
        HRESULT ( STDMETHODCALLTYPE *StopWatching )( 
            IRowsetWatchRegion * This);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, CreateWatchRegion)
        HRESULT ( STDMETHODCALLTYPE *CreateWatchRegion )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  DBWATCHMODE dwWatchMode,
            /* [annotation][out] */ 
            _Out_  HWATCHREGION *phRegion);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, ChangeWatchMode)
        HRESULT ( STDMETHODCALLTYPE *ChangeWatchMode )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][in] */ 
            _In_  DBWATCHMODE dwWatchMode);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, DeleteWatchRegion)
        HRESULT ( STDMETHODCALLTYPE *DeleteWatchRegion )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, GetWatchRegionInfo)
        HRESULT ( STDMETHODCALLTYPE *GetWatchRegionInfo )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][out] */ 
            _Out_  DBWATCHMODE *pdwWatchMode,
            /* [annotation][out] */ 
            _Out_  HCHAPTER *phChapter,
            /* [annotation][out][in] */ 
            _Inout_  DBBKMARK *pcbBookmark,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcbBookmark)  BYTE **ppBookmark,
            /* [annotation][out] */ 
            _Out_  DBROWCOUNT *pcRows);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, Refresh)
        HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            IRowsetWatchRegion * This,
            /* [annotation][out][in] */ 
            _Inout_  DBCOUNTITEM *pcChangesObtained,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcChangesObtained)  DBROWWATCHCHANGE **prgChanges);
        
        DECLSPEC_XFGVIRT(IRowsetWatchRegion, ShrinkWatchRegion)
        HRESULT ( STDMETHODCALLTYPE *ShrinkWatchRegion )( 
            IRowsetWatchRegion * This,
            /* [annotation][in] */ 
            _In_  HWATCHREGION hRegion,
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  DBBKMARK cbBookmark,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbBookmark)  BYTE *pBookmark,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows);
        
        END_INTERFACE
    } IRowsetWatchRegionVtbl;

    interface IRowsetWatchRegion
    {
        CONST_VTBL struct IRowsetWatchRegionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetWatchRegion_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetWatchRegion_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetWatchRegion_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetWatchRegion_Acknowledge(This)	\
    ( (This)->lpVtbl -> Acknowledge(This) ) 

#define IRowsetWatchRegion_Start(This)	\
    ( (This)->lpVtbl -> Start(This) ) 

#define IRowsetWatchRegion_StopWatching(This)	\
    ( (This)->lpVtbl -> StopWatching(This) ) 


#define IRowsetWatchRegion_CreateWatchRegion(This,dwWatchMode,phRegion)	\
    ( (This)->lpVtbl -> CreateWatchRegion(This,dwWatchMode,phRegion) ) 

#define IRowsetWatchRegion_ChangeWatchMode(This,hRegion,dwWatchMode)	\
    ( (This)->lpVtbl -> ChangeWatchMode(This,hRegion,dwWatchMode) ) 

#define IRowsetWatchRegion_DeleteWatchRegion(This,hRegion)	\
    ( (This)->lpVtbl -> DeleteWatchRegion(This,hRegion) ) 

#define IRowsetWatchRegion_GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows)	\
    ( (This)->lpVtbl -> GetWatchRegionInfo(This,hRegion,pdwWatchMode,phChapter,pcbBookmark,ppBookmark,pcRows) ) 

#define IRowsetWatchRegion_Refresh(This,pcChangesObtained,prgChanges)	\
    ( (This)->lpVtbl -> Refresh(This,pcChangesObtained,prgChanges) ) 

#define IRowsetWatchRegion_ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows)	\
    ( (This)->lpVtbl -> ShrinkWatchRegion(This,hRegion,hChapter,cbBookmark,pBookmark,cRows) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetWatchRegion_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0009 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0009_v0_0_s_ifspec;

#ifndef __IRowsetCopyRows_INTERFACE_DEFINED__
#define __IRowsetCopyRows_INTERFACE_DEFINED__

/* interface IRowsetCopyRows */
/* [unique][uuid][object][local] */ 

typedef WORD HSOURCE;


EXTERN_C const IID IID_IRowsetCopyRows;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a6b-2a1c-11ce-ade5-00aa0044773d")
    IRowsetCopyRows : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CloseSource( 
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CopyByHROWS( 
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID,
            /* [annotation][in] */ 
            _In_  HCHAPTER hReserved,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][size_is][in] */ 
            _In_reads_(cRows)  const HROW rghRows[  ],
            /* [annotation][in] */ 
            _In_  ULONG bFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CopyRows( 
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID,
            /* [annotation][in] */ 
            _In_  HCHAPTER hReserved,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][in] */ 
            _In_  ULONG bFlags,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRowsCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DefineSource( 
            /* [annotation][in] */ 
            _In_  const IRowset *pRowsetSource,
            /* [annotation][in] */ 
            _In_  const DBORDINAL cColIds,
            /* [annotation][size_is][in] */ 
            _In_reads_(cColIds)  const DB_LORDINAL rgSourceColumns[  ],
            /* [annotation][size_is][in] */ 
            _In_reads_(cColIds)  const DB_LORDINAL rgTargetColumns[  ],
            /* [annotation][out] */ 
            _Out_  HSOURCE *phSourceID) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRowsetCopyRowsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRowsetCopyRows * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRowsetCopyRows * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRowsetCopyRows * This);
        
        DECLSPEC_XFGVIRT(IRowsetCopyRows, CloseSource)
        HRESULT ( STDMETHODCALLTYPE *CloseSource )( 
            IRowsetCopyRows * This,
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID);
        
        DECLSPEC_XFGVIRT(IRowsetCopyRows, CopyByHROWS)
        HRESULT ( STDMETHODCALLTYPE *CopyByHROWS )( 
            IRowsetCopyRows * This,
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID,
            /* [annotation][in] */ 
            _In_  HCHAPTER hReserved,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][size_is][in] */ 
            _In_reads_(cRows)  const HROW rghRows[  ],
            /* [annotation][in] */ 
            _In_  ULONG bFlags);
        
        DECLSPEC_XFGVIRT(IRowsetCopyRows, CopyRows)
        HRESULT ( STDMETHODCALLTYPE *CopyRows )( 
            IRowsetCopyRows * This,
            /* [annotation][in] */ 
            _In_  HSOURCE hSourceID,
            /* [annotation][in] */ 
            _In_  HCHAPTER hReserved,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][in] */ 
            _In_  ULONG bFlags,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRowsCopied);
        
        DECLSPEC_XFGVIRT(IRowsetCopyRows, DefineSource)
        HRESULT ( STDMETHODCALLTYPE *DefineSource )( 
            IRowsetCopyRows * This,
            /* [annotation][in] */ 
            _In_  const IRowset *pRowsetSource,
            /* [annotation][in] */ 
            _In_  const DBORDINAL cColIds,
            /* [annotation][size_is][in] */ 
            _In_reads_(cColIds)  const DB_LORDINAL rgSourceColumns[  ],
            /* [annotation][size_is][in] */ 
            _In_reads_(cColIds)  const DB_LORDINAL rgTargetColumns[  ],
            /* [annotation][out] */ 
            _Out_  HSOURCE *phSourceID);
        
        END_INTERFACE
    } IRowsetCopyRowsVtbl;

    interface IRowsetCopyRows
    {
        CONST_VTBL struct IRowsetCopyRowsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRowsetCopyRows_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRowsetCopyRows_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRowsetCopyRows_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRowsetCopyRows_CloseSource(This,hSourceID)	\
    ( (This)->lpVtbl -> CloseSource(This,hSourceID) ) 

#define IRowsetCopyRows_CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags)	\
    ( (This)->lpVtbl -> CopyByHROWS(This,hSourceID,hReserved,cRows,rghRows,bFlags) ) 

#define IRowsetCopyRows_CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied)	\
    ( (This)->lpVtbl -> CopyRows(This,hSourceID,hReserved,cRows,bFlags,pcRowsCopied) ) 

#define IRowsetCopyRows_DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID)	\
    ( (This)->lpVtbl -> DefineSource(This,pRowsetSource,cColIds,rgSourceColumns,rgTargetColumns,phSourceID) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRowsetCopyRows_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0010 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0010_v0_0_s_ifspec;

#ifndef __IReadData_INTERFACE_DEFINED__
#define __IReadData_INTERFACE_DEFINED__

/* interface IReadData */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IReadData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a6a-2a1c-11ce-ade5-00aa0044773d")
    IReadData : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ReadData( 
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  DBBKMARK cbBookmark,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbBookmark)  const BYTE *pBookmark,
            /* [annotation][in] */ 
            _In_  DBROWOFFSET lRowsOffset,
            /* [annotation][in] */ 
            _In_  HACCESSOR hAccessor,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRowsObtained,
            /* [annotation][out][in] */ 
            _Inout_  BYTE **ppFixedData,
            /* [annotation][out][in] */ 
            _Inout_  DBLENGTH *pcbVariableTotal,
            /* [annotation][out][in] */ 
            _Inout_  BYTE **ppVariableData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReleaseChapter( 
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IReadDataVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IReadData * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IReadData * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IReadData * This);
        
        DECLSPEC_XFGVIRT(IReadData, ReadData)
        HRESULT ( STDMETHODCALLTYPE *ReadData )( 
            IReadData * This,
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter,
            /* [annotation][in] */ 
            _In_  DBBKMARK cbBookmark,
            /* [annotation][size_is][in] */ 
            _In_reads_(cbBookmark)  const BYTE *pBookmark,
            /* [annotation][in] */ 
            _In_  DBROWOFFSET lRowsOffset,
            /* [annotation][in] */ 
            _In_  HACCESSOR hAccessor,
            /* [annotation][in] */ 
            _In_  DBROWCOUNT cRows,
            /* [annotation][out] */ 
            _Out_  DBCOUNTITEM *pcRowsObtained,
            /* [annotation][out][in] */ 
            _Inout_  BYTE **ppFixedData,
            /* [annotation][out][in] */ 
            _Inout_  DBLENGTH *pcbVariableTotal,
            /* [annotation][out][in] */ 
            _Inout_  BYTE **ppVariableData);
        
        DECLSPEC_XFGVIRT(IReadData, ReleaseChapter)
        HRESULT ( STDMETHODCALLTYPE *ReleaseChapter )( 
            IReadData * This,
            /* [annotation][in] */ 
            _In_  HCHAPTER hChapter);
        
        END_INTERFACE
    } IReadDataVtbl;

    interface IReadData
    {
        CONST_VTBL struct IReadDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IReadData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IReadData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IReadData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IReadData_ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData)	\
    ( (This)->lpVtbl -> ReadData(This,hChapter,cbBookmark,pBookmark,lRowsOffset,hAccessor,cRows,pcRowsObtained,ppFixedData,pcbVariableTotal,ppVariableData) ) 

#define IReadData_ReleaseChapter(This,hChapter)	\
    ( (This)->lpVtbl -> ReleaseChapter(This,hChapter) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IReadData_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0011 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0011_v0_0_s_ifspec;

#ifndef __ICommandCost_INTERFACE_DEFINED__
#define __ICommandCost_INTERFACE_DEFINED__

/* interface ICommandCost */
/* [unique][uuid][object][local] */ 

typedef DWORD DBRESOURCEKIND;


enum DBRESOURCEKINDENUM
    {
        DBRESOURCE_INVALID	= 0,
        DBRESOURCE_TOTAL	= 1,
        DBRESOURCE_CPU	= 2,
        DBRESOURCE_MEMORY	= 3,
        DBRESOURCE_DISK	= 4,
        DBRESOURCE_NETWORK	= 5,
        DBRESOURCE_RESPONSE	= 6,
        DBRESOURCE_ROWS	= 7,
        DBRESOURCE_OTHER	= 8
    } ;
typedef DWORD DBCOSTUNIT;


enum DBCOSTUNITENUM
    {
        DBUNIT_INVALID	= 0,
        DBUNIT_WEIGHT	= 0x1,
        DBUNIT_PERCENT	= 0x2,
        DBUNIT_MAXIMUM	= 0x4,
        DBUNIT_MINIMUM	= 0x8,
        DBUNIT_MICRO_SECOND	= 0x10,
        DBUNIT_MILLI_SECOND	= 0x20,
        DBUNIT_SECOND	= 0x40,
        DBUNIT_MINUTE	= 0x80,
        DBUNIT_HOUR	= 0x100,
        DBUNIT_BYTE	= 0x200,
        DBUNIT_KILO_BYTE	= 0x400,
        DBUNIT_MEGA_BYTE	= 0x800,
        DBUNIT_GIGA_BYTE	= 0x1000,
        DBUNIT_NUM_MSGS	= 0x2000,
        DBUNIT_NUM_LOCKS	= 0x4000,
        DBUNIT_NUM_ROWS	= 0x8000,
        DBUNIT_OTHER	= 0x10000
    } ;
typedef struct tagDBCOST
    {
    DBRESOURCEKIND eKind;
    DBCOSTUNIT dwUnits;
    LONG lValue;
    } 	DBCOST;

typedef DWORD DBEXECLIMITS;


enum DBEXECLIMITSENUM
    {
        DBEXECLIMITS_ABORT	= 1,
        DBEXECLIMITS_STOP	= 2,
        DBEXECLIMITS_SUSPEND	= 3
    } ;

EXTERN_C const IID IID_ICommandCost;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a4e-2a1c-11ce-ade5-00aa0044773d")
    ICommandCost : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAccumulatedCost( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out][in] */ 
            _Inout_  ULONG *pcCostLimits,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcCostLimits)  DBCOST **prgCostLimits) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCostEstimate( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostEstimates,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostEstimates) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCostGoals( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostGoals,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostGoals) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCostLimits( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostLimits,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostLimits) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCostGoals( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][in] */ 
            _In_  ULONG cCostGoals,
            /* [annotation][size_is][in] */ 
            _In_reads_(cCostGoals)  const DBCOST rgCostGoals[  ]) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCostLimits( 
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][in] */ 
            _In_  ULONG cCostLimits,
            /* [annotation][in] */ 
            _In_  DBCOST *prgCostLimits,
            /* [annotation][in] */ 
            _In_  DBEXECLIMITS dwExecutionFlags) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICommandCostVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICommandCost * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICommandCost * This);
        
        DECLSPEC_XFGVIRT(ICommandCost, GetAccumulatedCost)
        HRESULT ( STDMETHODCALLTYPE *GetAccumulatedCost )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out][in] */ 
            _Inout_  ULONG *pcCostLimits,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcCostLimits)  DBCOST **prgCostLimits);
        
        DECLSPEC_XFGVIRT(ICommandCost, GetCostEstimate)
        HRESULT ( STDMETHODCALLTYPE *GetCostEstimate )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostEstimates,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostEstimates);
        
        DECLSPEC_XFGVIRT(ICommandCost, GetCostGoals)
        HRESULT ( STDMETHODCALLTYPE *GetCostGoals )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostGoals,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostGoals);
        
        DECLSPEC_XFGVIRT(ICommandCost, GetCostLimits)
        HRESULT ( STDMETHODCALLTYPE *GetCostLimits )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][out] */ 
            _Out_  ULONG *pcCostLimits,
            /* [annotation][out] */ 
            _Out_  DBCOST *prgCostLimits);
        
        DECLSPEC_XFGVIRT(ICommandCost, SetCostGoals)
        HRESULT ( STDMETHODCALLTYPE *SetCostGoals )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][in] */ 
            _In_  ULONG cCostGoals,
            /* [annotation][size_is][in] */ 
            _In_reads_(cCostGoals)  const DBCOST rgCostGoals[  ]);
        
        DECLSPEC_XFGVIRT(ICommandCost, SetCostLimits)
        HRESULT ( STDMETHODCALLTYPE *SetCostLimits )( 
            ICommandCost * This,
            /* [annotation][in] */ 
            _In_  LPCOLESTR pwszRowsetName,
            /* [annotation][in] */ 
            _In_  ULONG cCostLimits,
            /* [annotation][in] */ 
            _In_  DBCOST *prgCostLimits,
            /* [annotation][in] */ 
            _In_  DBEXECLIMITS dwExecutionFlags);
        
        END_INTERFACE
    } ICommandCostVtbl;

    interface ICommandCost
    {
        CONST_VTBL struct ICommandCostVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICommandCost_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICommandCost_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICommandCost_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICommandCost_GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits)	\
    ( (This)->lpVtbl -> GetAccumulatedCost(This,pwszRowsetName,pcCostLimits,prgCostLimits) ) 

#define ICommandCost_GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates)	\
    ( (This)->lpVtbl -> GetCostEstimate(This,pwszRowsetName,pcCostEstimates,prgCostEstimates) ) 

#define ICommandCost_GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals)	\
    ( (This)->lpVtbl -> GetCostGoals(This,pwszRowsetName,pcCostGoals,prgCostGoals) ) 

#define ICommandCost_GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits)	\
    ( (This)->lpVtbl -> GetCostLimits(This,pwszRowsetName,pcCostLimits,prgCostLimits) ) 

#define ICommandCost_SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals)	\
    ( (This)->lpVtbl -> SetCostGoals(This,pwszRowsetName,cCostGoals,rgCostGoals) ) 

#define ICommandCost_SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags)	\
    ( (This)->lpVtbl -> SetCostLimits(This,pwszRowsetName,cCostLimits,prgCostLimits,dwExecutionFlags) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICommandCost_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0012 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0012_v0_0_s_ifspec;

#ifndef __ICommandValidate_INTERFACE_DEFINED__
#define __ICommandValidate_INTERFACE_DEFINED__

/* interface ICommandValidate */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_ICommandValidate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a18-2a1c-11ce-ade5-00aa0044773d")
    ICommandValidate : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ValidateCompletely( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ValidateSyntax( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICommandValidateVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICommandValidate * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICommandValidate * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICommandValidate * This);
        
        DECLSPEC_XFGVIRT(ICommandValidate, ValidateCompletely)
        HRESULT ( STDMETHODCALLTYPE *ValidateCompletely )( 
            ICommandValidate * This);
        
        DECLSPEC_XFGVIRT(ICommandValidate, ValidateSyntax)
        HRESULT ( STDMETHODCALLTYPE *ValidateSyntax )( 
            ICommandValidate * This);
        
        END_INTERFACE
    } ICommandValidateVtbl;

    interface ICommandValidate
    {
        CONST_VTBL struct ICommandValidateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICommandValidate_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICommandValidate_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICommandValidate_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICommandValidate_ValidateCompletely(This)	\
    ( (This)->lpVtbl -> ValidateCompletely(This) ) 

#define ICommandValidate_ValidateSyntax(This)	\
    ( (This)->lpVtbl -> ValidateSyntax(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICommandValidate_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0013 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0013_v0_0_s_ifspec;

#ifndef __ITableRename_INTERFACE_DEFINED__
#define __ITableRename_INTERFACE_DEFINED__

/* interface ITableRename */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_ITableRename;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a77-2a1c-11ce-ade5-00aa0044773d")
    ITableRename : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RenameColumn( 
            /* [annotation][in] */ 
            _In_  DBID *pTableId,
            /* [annotation][in] */ 
            _In_  DBID *pOldColumnId,
            /* [annotation][in] */ 
            _In_  DBID *pNewColumnId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RenameTable( 
            /* [annotation][in] */ 
            _In_  DBID *pOldTableId,
            /* [annotation][in] */ 
            _In_  DBID *pOldIndexId,
            /* [annotation][in] */ 
            _In_  DBID *pNewTableId,
            /* [annotation][in] */ 
            _In_  DBID *pNewIndexId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITableRenameVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITableRename * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITableRename * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITableRename * This);
        
        DECLSPEC_XFGVIRT(ITableRename, RenameColumn)
        HRESULT ( STDMETHODCALLTYPE *RenameColumn )( 
            ITableRename * This,
            /* [annotation][in] */ 
            _In_  DBID *pTableId,
            /* [annotation][in] */ 
            _In_  DBID *pOldColumnId,
            /* [annotation][in] */ 
            _In_  DBID *pNewColumnId);
        
        DECLSPEC_XFGVIRT(ITableRename, RenameTable)
        HRESULT ( STDMETHODCALLTYPE *RenameTable )( 
            ITableRename * This,
            /* [annotation][in] */ 
            _In_  DBID *pOldTableId,
            /* [annotation][in] */ 
            _In_  DBID *pOldIndexId,
            /* [annotation][in] */ 
            _In_  DBID *pNewTableId,
            /* [annotation][in] */ 
            _In_  DBID *pNewIndexId);
        
        END_INTERFACE
    } ITableRenameVtbl;

    interface ITableRename
    {
        CONST_VTBL struct ITableRenameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITableRename_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ITableRename_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ITableRename_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ITableRename_RenameColumn(This,pTableId,pOldColumnId,pNewColumnId)	\
    ( (This)->lpVtbl -> RenameColumn(This,pTableId,pOldColumnId,pNewColumnId) ) 

#define ITableRename_RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId)	\
    ( (This)->lpVtbl -> RenameTable(This,pOldTableId,pOldIndexId,pNewTableId,pNewIndexId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITableRename_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0014 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0014_v0_0_s_ifspec;

#ifndef __IDBSchemaCommand_INTERFACE_DEFINED__
#define __IDBSchemaCommand_INTERFACE_DEFINED__

/* interface IDBSchemaCommand */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IDBSchemaCommand;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a50-2a1c-11ce-ade5-00aa0044773d")
    IDBSchemaCommand : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetCommand( 
            /* [annotation][in] */ 
            _In_  IUnknown *pUnkOuter,
            /* [annotation][in] */ 
            _In_  REFGUID rguidSchema,
            /* [annotation][out] */ 
            _Out_  ICommand **ppCommand) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSchemas( 
            /* [annotation][out][in] */ 
            _Inout_  ULONG *pcSchemas,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcSchemas)  GUID **prgSchemas) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDBSchemaCommandVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDBSchemaCommand * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDBSchemaCommand * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDBSchemaCommand * This);
        
        DECLSPEC_XFGVIRT(IDBSchemaCommand, GetCommand)
        HRESULT ( STDMETHODCALLTYPE *GetCommand )( 
            IDBSchemaCommand * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pUnkOuter,
            /* [annotation][in] */ 
            _In_  REFGUID rguidSchema,
            /* [annotation][out] */ 
            _Out_  ICommand **ppCommand);
        
        DECLSPEC_XFGVIRT(IDBSchemaCommand, GetSchemas)
        HRESULT ( STDMETHODCALLTYPE *GetSchemas )( 
            IDBSchemaCommand * This,
            /* [annotation][out][in] */ 
            _Inout_  ULONG *pcSchemas,
            /* [annotation][size_is][size_is][out] */ 
            _Out_writes_(*pcSchemas)  GUID **prgSchemas);
        
        END_INTERFACE
    } IDBSchemaCommandVtbl;

    interface IDBSchemaCommand
    {
        CONST_VTBL struct IDBSchemaCommandVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDBSchemaCommand_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDBSchemaCommand_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDBSchemaCommand_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDBSchemaCommand_GetCommand(This,pUnkOuter,rguidSchema,ppCommand)	\
    ( (This)->lpVtbl -> GetCommand(This,pUnkOuter,rguidSchema,ppCommand) ) 

#define IDBSchemaCommand_GetSchemas(This,pcSchemas,prgSchemas)	\
    ( (This)->lpVtbl -> GetSchemas(This,pcSchemas,prgSchemas) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDBSchemaCommand_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0015 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0015_v0_0_s_ifspec;

#ifndef __IProvideMoniker_INTERFACE_DEFINED__
#define __IProvideMoniker_INTERFACE_DEFINED__

/* interface IProvideMoniker */
/* [unique][uuid][object][local] */ 


EXTERN_C const IID IID_IProvideMoniker;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c733a4d-2a1c-11ce-ade5-00aa0044773d")
    IProvideMoniker : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetMoniker( 
            /* [annotation][out] */ 
            _Out_  IMoniker **ppIMoniker) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProvideMonikerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProvideMoniker * This,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProvideMoniker * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProvideMoniker * This);
        
        DECLSPEC_XFGVIRT(IProvideMoniker, GetMoniker)
        HRESULT ( STDMETHODCALLTYPE *GetMoniker )( 
            IProvideMoniker * This,
            /* [annotation][out] */ 
            _Out_  IMoniker **ppIMoniker);
        
        END_INTERFACE
    } IProvideMonikerVtbl;

    interface IProvideMoniker
    {
        CONST_VTBL struct IProvideMonikerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IProvideMoniker_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IProvideMoniker_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IProvideMoniker_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IProvideMoniker_GetMoniker(This,ppIMoniker)	\
    ( (This)->lpVtbl -> GetMoniker(This,ppIMoniker) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProvideMoniker_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_oledbdep_0000_0016 */
/* [local] */ 

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
// IID_IRowsetExactScroll		= {0x0c733a7f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetNextRowset			= {0x0c733a72,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetNewRowAfter		= {0x0c733a71,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetWithParameters	    = {0x0c733a6e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetAsynch			    = {0x0c733a0f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetKeys				= {0x0c733a12,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetWatchAll			= {0x0c733a73,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetWatchNotify		= {0x0c733a44,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetWatchRegion		= {0x0c733a45,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IRowsetCopyRows			= {0x0c733a6b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IReadData				    = {0x0c733a6a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_ICommandCost				= {0x0c733a4e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_ICommandTree				= {0x0c733a87,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_ICommandValidate			= {0x0c733a18,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IQuery					= {0x0c733a51,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_ITableRename				= {0x0c733a77,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IDBSchemaCommand			= {0x0c733a50,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
// IID_IProvideMoniker			= {0x0c733a4d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
#include <poppack.h>	// restore original structure packing
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion


extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_oledbdep_0000_0016_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


